VT-d: correct kill hvm_timer
authorKeir Fraser <keir.fraser@citrix.com>
Tue, 23 Jun 2009 10:26:22 +0000 (11:26 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Tue, 23 Jun 2009 10:26:22 +0000 (11:26 +0100)
hvm_timer is created with the vector got from domain_irq_to_vector(),
accordingly it should use the same vector to kill the timer. The patch
corrects it in pci_clean_dpci_irqs().

Signed-off-by: Weidong Han <weidong.han@intel.com>
xen/drivers/passthrough/pci.c

index 867b6b0322935d201fc6d5d790cdfe6cb04fd74f..8c1653ffaaefaf71c34558fab57af0ce0a86bead 100644 (file)
@@ -216,7 +216,7 @@ static void pci_clean_dpci_irqs(struct domain *d)
               i = find_next_bit(hvm_irq_dpci->mapping, d->nr_pirqs, i + 1) )
         {
             pirq_guest_unbind(d, i);
-            kill_timer(&hvm_irq_dpci->hvm_timer[irq_to_vector(i)]);
+            kill_timer(&hvm_irq_dpci->hvm_timer[domain_irq_to_vector(d, i)]);
 
             list_for_each_safe ( digl_list, tmp,
                                  &hvm_irq_dpci->mirq[i].digl_list )